package com.blood.modules.system.service;

import com.blood.core.config.mybatisplus.ICommonService;
import com.blood.core.resp.PageResult;
import com.blood.core.resp.ResponseResult;
import com.blood.modules.system.dto.req.SysMenuPageReq;
import com.blood.modules.system.dto.req.SysMenuReq;
import com.blood.modules.system.dto.req.SysMenuSaveReq;
import com.blood.modules.system.dto.resp.SysMenuInfoResp;
import com.blood.modules.system.dto.resp.SysMenuPageResp;
import com.blood.modules.system.model.SysMenu;

import java.util.List;


/**
 * 菜单权限Service接口
 *
 * @author daoren
 * @date 2022-11-23 10:34:28
 */
public interface ISysMenuService extends ICommonService<SysMenu> {

    /**
     * 分页查询
     *
     * @param req 查询参数
     * @return 分页列表信息
     */
    ResponseResult<PageResult<SysMenuPageResp>> pageList(SysMenuPageReq req);

    /**
     * 获取列表
     *
     * @param req 查询参数
     * @return 列表信息
     */
    List<SysMenu> queryList(SysMenuReq req);

    /**
     * 添加
     *
     * @param req
     * @return 结果
     */
    ResponseResult<Void> saveInfo(SysMenuSaveReq req);

    /**
     * 更新信息
     *
     * @param req
     * @return 结果
     */
    ResponseResult<Void> updateInfo(SysMenuSaveReq req);

    /**
     * 根据id获取详情
     *
     * @param id
     * @return 详情
     */
    ResponseResult<SysMenuInfoResp> findDetailById(String id);
}
